using System;
using System.Collections.Generic;

namespace Elephant.Framework.XML
{
    internal class ComponentTemplate
    {
        string type; // "typeName, assemblyName"
        Dictionary<string, string> parameters = new Dictionary<string, string>(); // param name : value
        Dictionary<string, string> defaults = new Dictionary<string, string>(); // member name (whole path) : value to set

        public ComponentTemplate() { }

        public ComponentTemplate(string type, Dictionary<string, string> parameters, Dictionary<string, string> defaults)
        {
            this.type = type;
            this.parameters = parameters;
            this.defaults = defaults;
        }

        public string Type
        {
            get
            {
                return type;
            }
            set
            {
                type = value;
            }
        }

        public Dictionary<string, string> Parameters
        {
            get
            {
                return parameters;
            }
            set
            {
                parameters = value;
            }
        }

        public Dictionary<string, string> Defaults
        {
            get
            {
                return defaults;
            }
            set
            {
                defaults = value;
            }
        }
    }
}
